/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package appvideo;

import appvideo.logica.Caja;
import appvideo.logica.Socio;
import appvideo.logica.Usuario;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

/**
 *
 * @author JAVA
 */
public class SubMenu_gestionCaja {
    public static void controlCaja(){
        
        int opccaja=0;
         do{                                             
                opccaja=ObtenerTeclado.dameEntero("1.Visualizar movimientos caja\n2.Visualizar todos los registros de la caja\n3.Visualizar Registros de socio\n4.Borrar registro caja\n5.Total recaudado\n6.Atras\nElige una opcion");

                switch(opccaja){

                    case 1:
                        SubMenu_gestionCaja.getRegistrosCaja();
                        opccaja=0;//repite menu
                        break;
                    case 2:
                        SubMenu_gestionCaja.getRegistrosCajaEntera();
                        opccaja=0;
                        break;                    
                    case 3:
                        SubMenu_gestionCaja.getRegistrosSocioCaja(); 
                        opccaja=0;
                        break;                    
                    case 4:
                        SubMenu_gestionCaja.deleteRegistrosSocioCaja();
                        opccaja=0;
                        break;
                    case 5:
                        SubMenu_gestionCaja.totalRecaudado();
                        opccaja=0;
                        break;
                    case 6:
                        main.opc=0;
                        break;
                }
               
            }while(opccaja<1 || opccaja>7); 
    }
    
    public static void getRegistrosCaja(){
        List<Caja> cajas=new ArrayList();
        Caja cj=new Caja();
        //Ir a la base de datos a por la lista de registros caja.
        System.out.println("Bases de datos devolviendo todos los registros de la caja\n");
        System.out.println("id\tidSocio\tConcepto\tCantidad\tfecha\t        hora");
        cajas=cj.visualizarRegistrosCaja();//deberia de llevar un parametro pero luego uso el this
        for(Caja c: cajas){
            System.out.println(c.toString()+"\n************************************************************************");
        }
        System.out.println("\n....\n...");
    }
    
     public static void getRegistrosCajaEntera(){
        List<Caja> cajas=new ArrayList();
        Caja cj=new Caja();
        //Ir a la base de datos a por la lista de registros caja.
        System.out.println("Bases de datos devolviendo todos los registros de la caja\n");
        System.out.println("id\tidSocio\tConcepto\tCantidad\tfecha\t        hora");
        cajas=cj.visualizarRegistrosCajaEntera();//deberia de llevar un parametro pero luego uso el this
        for(Caja c: cajas){
            System.out.println(c.toString()+"\n************************************************************************");
        }
        System.out.println("\n....\n...");
    }
    
    public static void getRegistrosSocioCaja(){
        String dnisocio = ObtenerTeclado.dameCadena("Introduce el dni del socio:");
        Socio socio=Socio.buscaUsuario(dnisocio);
        if(socio==null){
            System.out.println("no existe ningun resgistro de caja con ese dni de socio\n....\n...");
        }else{
            List<Caja> cajas=new ArrayList();
            Caja cj=new Caja();
            int indice=socio.getId();
            //Ir a la base de datos a por la lista de registros caja.
            System.out.println("Bases de datos devolviendo todos los registros de la caja\n");
            System.out.println("id\tidSocio\tConcepto\tCantidad\tfecha\t        hora");
            cajas=cj.visualizarRegistrosSocio(indice);//deberia de llevar un parametro pero luego uso el this
            for(Caja c: cajas){
                System.out.println(c.toString()+"\n************************************************************************");
            }
            System.out.println("\n....\n...");
        }
    }
    
    public static void deleteRegistrosSocioCaja(){
        String dnisocio = ObtenerTeclado.dameCadena("Introduce el dni del socio:");
        Socio socio=Socio.buscaUsuario(dnisocio);
        if(socio==null){
            System.out.println("no existe ningun resgistro de caja con ese dni de socio\n....\n...");
        }else{
            
            List<Caja> cajas=new ArrayList();
            Caja cj=new Caja();
            int indice=socio.getId();
            int encontrado=0;
            //Ir a la base de datos a por la lista de registros caja.
            System.out.println("Bases de datos devolviendo todos los registros de la caja\n");
            System.out.println("id\tidSocio\tConcepto\tCantidad\tfecha\t        hora");
            cajas=cj.visualizarRegistrosSocio(indice);//deberia de llevar un parametro pero luego uso el this
            for(Caja c: cajas){
                System.out.println(c.toString()+"\n************************************************************************");
            }
            System.out.println("\n....\n...");           
            int registro = ObtenerTeclado.dameEntero("Introduce el id del registro a eliminar");
            for(Caja c: cajas){
                if(c.getId()==registro){
                    encontrado=1;
                }
            }
            if(encontrado==1){
                Caja caja=new Caja();
                caja.bajaRegistroCaja(registro);
                System.out.println("Registro eliminado\n....\n...");
            }else{
                System.out.println("Has introducido un registro inexistente\n....\n...");
            }
        }
        
    }
    
    public static void totalRecaudado(){
        Caja caja=new Caja();
        double total=caja.calculaTotal();
        
        System.out.println("El total recaudado en el dia de hoy en estos momentos es:"+total+"€");
    }
    
    
    
}
